﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;

namespace OgrIsleri.DashBoard.Modul.Dersler
{
    public partial class AkademisyenDersEkle : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;
            
            AkademisyenDoldur();
        }

        private void AkademisyenDoldur()
        {
            using (DbEntities db = new DbEntities())
            {
                int DersId = Convert.ToInt32(Request.QueryString["DersID"]);

                var veri = db.tblAkademisyenDetaylaris.
                                                    Where(o=>!o.tblAkademisyenDersleris.
                                                        Where(c=>c.DersID==DersId).Any()).
                                                        OrderBy(o => o.AdSoyad).ToList();

                var Kayitlar = db.tblAkademisyenDersleris.Where(o => o.DersID == DersId).Select(o => o.tblAkademisyenDetaylari).ToList();

                lbxAkademisyenler.DataSource = veri;
                lbxAkademisyenler.DataTextField = "AdSoyad";
                lbxAkademisyenler.DataValueField = "UserID";
                lbxAkademisyenler.DataBind();

                lbxDersAkademisyenleri.DataSource = Kayitlar;
                lbxDersAkademisyenleri.DataTextField = "AdSoyad";
                lbxDersAkademisyenleri.DataValueField = "UserID";
                lbxDersAkademisyenleri.DataBind();
            }
        }

        [WebMethod]

        public static void AkdEkle(string Liste,string EskiListe,string DersID)
        {
            string[] eskiarr = EskiListe.Split(',');
            string[] arr = Liste.Split(',');
            int DersNo = Convert.ToInt32(DersID);

            using (DbEntities db = new DbEntities())
            {
                foreach (string a in eskiarr)
                {
                    Guid Akd = Guid.Parse(a);
                    var kontrol = db.tblAkademisyenDersleris.Where(o => o.DersID == DersNo && o.AkademisyenID == Akd).SingleOrDefault();
                    if (kontrol != null)
                    {
                        db.tblAkademisyenDersleris.Remove(kontrol);
                        db.SaveChanges();
                    }
                }
                foreach(string a in arr)
                {
                    Guid Akd=Guid.Parse(a);
                    var kontrol = db.tblAkademisyenDersleris.Where(o => o.DersID == DersNo && o.AkademisyenID == Akd).SingleOrDefault();
                    if (kontrol == null)
                    {
                        tblAkademisyenDersleri data = new tblAkademisyenDersleri();
                        data.DersID = DersNo;
                        data.AkademisyenID = Akd;

                        db.tblAkademisyenDersleris.Add(data);
                        db.SaveChanges();
                    }
                }
            }
        }
    }
}